home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / g_man / cat3 / standard / drawmode.z / drawmode
Encoding:
Text File  |  2002-10-03  |  7.1 KB  |  133 lines

  1.  
  2.  
  3.  
  4. ddddrrrraaaawwwwmmmmooooddddeeee((((3333GGGG))))                                                      ddddrrrraaaawwwwmmmmooooddddeeee((((3333GGGG))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      ddddrrrraaaawwwwmmmmooooddddeeee - selects which GL framebuffer is drawable
  10.  
  11. CCCC SSSSPPPPEEEECCCCIIIIFFFFIIIICCCCAAAATTTTIIIIOOOONNNN
  12.      vvvvooooiiiidddd ddddrrrraaaawwwwmmmmooooddddeeee((((mmmmooooddddeeee))))
  13.      lllloooonnnngggg mmmmooooddddeeee;;;;
  14.  
  15. PPPPAAAARRRRAAAAMMMMEEEETTTTEEEERRRRSSSS
  16.      _m_o_d_e   expects the identifier of the framebuffer to which GL drawing
  17.             commands are to be directed:
  18.  
  19.             NNNNOOOORRRRMMMMAAAALLLLDDDDRRRRAAAAWWWW, which sets operations for the normal color and z
  20.             buffer bitplanes.
  21.  
  22.             OOOOVVVVEEEERRRRDDDDRRRRAAAAWWWW, which sets operations for the overlay bitplanes.
  23.  
  24.             UUUUNNNNDDDDEEEERRRRDDDDRRRRAAAAWWWW, which sets operations for the underlay bitplanes.
  25.  
  26.             PPPPUUUUPPPPDDDDRRRRAAAAWWWW, which sets operations for the pop-up bitplanes.
  27.  
  28.             CCCCUUUURRRRSSSSOOOORRRRDDDDRRRRAAAAWWWW, which sets operations for the cursor.
  29.  
  30. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  31.      The IRIS physical framebuffer is divided into 4 separate GL framebuffers:
  32.      pop-up, overlay, normal, and underlay.  ddddrrrraaaawwwwmmmmooooddddeeee specifies which of these
  33.      four buffers is currently being controlled and modified by GL drawing and
  34.      mode commands.  Because ddddrrrraaaawwwwmmmmooooddddeeee cannot be set to multiple framebuffers,
  35.      GL drawing commands affect only one of the four GL framebuffers at a
  36.      time.
  37.  
  38.      The way that GL modes interact with ddddrrrraaaawwwwmmmmooooddddeeee is both complex and
  39.      significant to the GL programmer.  For example, each framebuffer
  40.      maintains its own current color and its own color map, but linewidth is
  41.      shared among all framebuffers.  In general, modes that determine what is
  42.      to be drawn into the framebuffers are shared; modes that control
  43.      framebuffer resources are either multiply specified, or specified only
  44.      for the normal framebuffer.
  45.  
  46.      A separate version of each of the following modes is maintained by each
  47.      GL framebuffer.  These modes are modified and read back based on the
  48.      current draw mode:
  49.  
  50.           bbbbaaaacccckkkkbbbbuuuuffffffffeeeerrrr
  51.           ccccmmmmooooddddeeee
  52.           ccccoooolllloooorrrr or RRRRGGGGBBBBccccoooolllloooorrrr
  53.           ddddoooouuuubbbblllleeeebbbbuuuuffffffffeeeerrrr
  54.           ffffrrrroooonnnnttttbbbbuuuuffffffffeeeerrrr
  55.           mmmmaaaappppccccoooolllloooorrrr (a separate color map per framebuffer)
  56.           rrrreeeeaaaaddddssssoooouuuurrrrcccceeee
  57.           RRRRGGGGBBBBmmmmooooddddeeee
  58.           ssssiiiinnnngggglllleeeebbbbuuuuffffffffeeeerrrr
  59.           wwwwrrrriiiitttteeeemmmmaaaasssskkkk or RRRRGGGGBBBBwwwwrrrriiiitttteeeemmmmaaaasssskkkk
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. ddddrrrraaaawwwwmmmmooooddddeeee((((3333GGGG))))                                                      ddddrrrraaaawwwwmmmmooooddddeeee((((3333GGGG))))
  71.  
  72.  
  73.  
  74.      The following modes currently affect only the operation of the normal
  75.      framebuffer.  They must therefore be modified only while draw mode is
  76.      NNNNOOOORRRRMMMMAAAALLLLDDDDRRRRAAAAWWWW.  As features are added to the GL, these modes may become
  77.      available in other draw modes.  When this happens, a separate mode will
  78.      be maintained for each draw mode.
  79.  
  80.           aaaaccccssssiiiizzzzeeee
  81.           bbbblllliiiinnnnkkkk
  82.           ccccyyyycccclllleeeemmmmaaaapppp
  83.           mmmmuuuullllttttiiiimmmmaaaapppp
  84.           oooonnnneeeemmmmaaaapppp
  85.           sssseeeettttmmmmaaaapppp
  86.           sssstttteeeennnncccciiiillll
  87.           sssstttteeeennnnssssiiiizzzzeeee
  88.           sssswwwwrrrriiiitttteeeemmmmaaaasssskkkk
  89.           zzzzbbbbuuuuffffffffeeeerrrr
  90.           zzzzddddrrrraaaawwww
  91.           zzzzffffuuuunnnnccccttttiiiioooonnnn
  92.           zzzzssssoooouuuurrrrcccceeee
  93.           zzzzwwwwrrrriiiitttteeeemmmmaaaasssskkkk
  94.  
  95.      All other modes, including matrices, viewports, graphics and character
  96.      positions, lighting, and many primitive rendering options, are shared by
  97.      the four GL framebuffers.
  98.  
  99.      Draw mode CCCCUUUURRRRSSSSOOOORRRRDDDDRRRRAAAAWWWW differs from the others.  True bitplanes for the
  100.      cursor do not exist; there is no current color or writemask in this
  101.      drawing mode.  However, the cursor does have its own color map, and when
  102.      in this mode, mmmmaaaappppccccoooolllloooorrrr and ggggeeeettttmmmmccccoooolllloooorrrr access it.
  103.  
  104. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  105.      acsize, cmode, c, color, cpack, gconfig, getcolor, getmcolor,
  106.      getwritemask, mapcolor, overlay, stencil, underlay, wmpack, writemask
  107.  
  108. NNNNOOOOTTTTEEEESSSS
  109.      This routine is available only in immediate mode.
  110.  
  111.      Some GL modes that are shared by all draw modes are not implemented by
  112.      the popup, overlay, or underlay framebuffers.  For example, the Personal
  113.      Iris does not do Gouraud shading in these framebuffers.  It is important
  114.      for the programmer to explicitly disable modes that are shared, but not
  115.      desired, when in draw modes other than NNNNOOOORRRRMMMMAAAALLLLDDDDRRRRAAAAWWWW.  Otherwise the code
  116.      may function differently on different platforms.
  117.  
  118.      Iris Entry graphics do not support OOOOVVVVEEEERRRRDDDDRRRRAAAAWWWW or UUUUNNNNDDDDEEEERRRRDDDDRRRRAAAAWWWW draw modes.  Use
  119.      ggggeeeettttggggddddeeeesssscccc to determine the number of bitplanes available for OOOOVVVVEEEERRRRDDDDRRRRAAAAWWWW or
  120.      UUUUNNNNDDDDEEEERRRRDDDDRRRRAAAAWWWW on any machine.
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.